home *** CD-ROM | disk | FTP | other *** search
-
- Okay, it's time for me again to throw in an idea here... There's been some
- discussion back and forth between people about how to best handle the
- information interchange between the networking machines, and there's been
- quite a few good (And a slightly less amount of bad) suggestions.
-
- Now, the networking package could be arranged so that, no matter which
- machine initiates the networking sequence (ie, one random machine
- initially sends out a networking initiation message throughout the net),
- each machine should check its own capabilities to see which one would be
- best suited to act as the controlling unit. It would be natural for an
- accellerated machine to handle the most CPU-stealing stuff instead on a
- standard-configuration Falcon.
-
- Therefore, I have made a temporary mental sketch of the initiation
- sequence that could be used. Here's the idea.
-
- In any given network, be it two players or fifteen, a single machine
- should send out a message on the net that a networking game is to be
- started. The exact message to be sent does not have to be clear to discuss
- this feature - that is a matter for the programmers to decide upon. The
- first message should simply be to detect the numer of machines in the
- network, and to assign a unique identifier to the diferent machines. (The
- machines that initates the sequence could be #0, the next #1,and so on)
-
- Following that, a message asking each machine to check the available
- hardware should be issued. This should involve a check of drawing speed on
- a set area of the playing area, preferably one that involves complex
- shapes to _really_ test the frames/second ration. This should take but a
- second if the proper code is used. Then the fastest machine is assigned as
- the master server, and takes over msot of the network handling. (To make
- things easier, if the fastest machine is not the same one that started th
- network, assigning new identifiers to each machine, with the new master
- being #0 should be considered.
-
- Elias suggested that one machine could be selected as host machine and do
- nothing but serve the network. This would undoubtedly be a good idea, but
- it remains to be seen if it will be necessary. It should be posible to
- have a machine act as server and provide a fully playable unslowed game of
- Bad Mood, even on an unaccellerated Falcon. But we'll see about that as
- the first segments of code are written.
-
- Anyway, at this point we will have a working network.
-
- Then for the interchange of game information. What we really need to know
- is how much information needs to be transferred at the point the game
- starts. For each individual player, the absolute minimum would be this:
- - Position within the level. This will have to be three words or longwords,
- depending on the nature of the game (I have absolutely no clue!)
- - Facing of the player. In which direction is he facing? This is vital to the
- other machines drawing the player's sprite.
- - Movement speed. Logical.
- - (Optional) Sprite identificator. We might want to use different sprites for
- for each player depending on the weapong he/she wields. It wouldn't be
- the most logical thing if player #2 is using a machine gun but all others
- see him using a scythe, right?
- - Additional sprites. If a blowtorch has been fired by the player all others
- should be able to draw the flame, right? This will have to include
- direction and speed of the additional item(s)
- - Movement of enemy sprites. It would't be good if ten machines didn't
- synchronize the movement of enemy sprites. The logics included would be
- hilarious, though - Just think of it guys ;-) (This package could get big)
-
- There might be more I don't remember. To reduce the networking required,
- it would be a good idea to let the master server calculate the AI of the
- enemy sprites instead of having all the machines do it individually. That
- way the networking load would be reduced and (possibly) the redraw speed
- of each individual machine increased, especially if the server does
- nothing but maintain the network. I, for one, support the idea, seeing how
- it can lessen the load on the other machines.
-
- Additional things that the main server should send out include the
- following massages:
-
- - Resynchronize various elements. We'll find a use for it.
- - End of level. One player has reached the end-level switch. Time to move on
- to the next.
- - Dead player. Remove sprite from play and replace it with a permanent
- graphical dispay of blood in it's place.
- - And maybe more.
-
- These are the first ideas. No doubt they will be changed, though I believe
- the basic idea might survive the needs of the game. I'm looking forward to
- hearing constructive criticism on this one, as well as other ideas.
-
- And now for something completely different: When will there be a new beta
- version of BM out for the rest of us to see? I'm eager to see how far the
- texture-mapping has come!
-
- Kai
-
- =====================================================================
- Kai Trygve Holst # These are not the views of HiAa - They
- P.O.Box 5061, Larsgaarden # are Copyright (C) 1995, Kai Trygve Holst
- N-6021 Aalesund, Norway # "The fairest rose is picked the first"
- http://www.hials.no/~kh/ # "Time is the silentmost enemy of youth"
-
-